Object-Oriented Declarative Program Analysis

نویسنده

  • Eva Magnusson
چکیده

This thesis deals with techniques for raising the programming level for a particular kind of computations, namely those on abstract syntax trees. Such computations are central in many program analysis tools, such as compilers, smart languagesensitive editors, and static analysis tools. All techniques presented in this thesis support modular description and efficiency and are capable of handling large programs. The work is based on Reference Attributed Grammars (RAGs) which combines object-oriented features with declarative programming to specify computations on abstract syntax trees. RAGs have proven useful, e.g., for performing static-semantic analysis of object-oriented languages. We investigate new applications of RAGs, extensions of RAGs in order to cover yet more applications, modularization issues for RAGs, and implementation of RAG extensions. The thesis consists of an introduction and four papers. The first paper deals with the application of RAGs to a new problem area: program visualization. The second paper describes JastAdd, a practical system for RAGs, based on static aspect-oriented programming and which supports the combination of imperative Java programming with declarative RAG programming. JastAdd has been used for developing practical compilers for full-scale languages. The third paper describes CRAGs, an extension of RAGs allowing circular dependencies and where the evaluator computes fixed-point solutions by iteration. CRAGs open up RAGs for new application areas such as grammar and data flow analyses. The fourth paper deals with extending attribute grammars with collection attributes and circular collection attributes. These attributes allow whole-program properties such as cross-references to be easily specified. A number of evaluation techniques and a number of application areas, including source code metrics, are described. All techniques described in the papers have been implemented and tested in practice.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

The Process of Object - Oriented

The object-oriented design process is investigated within the classic software development classii-cation of Analysis, Design, and Implementation. When all development is performed using object oriented methods, OOD is best characterized as a transformational process, mapping declarative descriptions of objects and classes to implementation plans. Subphases of class design, system design, and p...

متن کامل

Sword: a Declarative Object-oriented Database Architecture

We present a language Noodle in which to specify declarative queries in an object-oriented database system. The language models object-identity, classes, relations, views, inheritance, complex objects, and methods, in addition to logical rules. Noodle is intended to be used as a query language in an object-oriented database system, with the beneets of declarativeness, namely increased eeciency ...

متن کامل

Logical Foundations for Declarative Object-oriented Programming Logical Foundations for Declarative Object-oriented Programming ?

We present a formalism for reasoning about declarative object-oriented programs. Classes are represented as rst-order theories that contain logic programs as methods. Inheritance, genericity and related concepts are represented by operations on such theories which preserve the consistency of these theories as well as the correctness of the programs speciied by their axioms. Our approach provide...

متن کامل

A Typed Deductive and Object - Oriented Database LanguageMengchi

This paper presents a novel typed deductive object-oriented database language, called ROL (Rule-based Object Language), which is being developed at the University of Regana. This language is a declarative language. It can naturally and directly support object-oriented features such as object identity, complex objects, classes, class hierarchy, multiple inheritance with overriding, and schema in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007